export type ColSpanType = number | string;
// ColSpanType类型定义，可以是数字或字符串

export interface ColEx {
  style?: any;
  // 样式属性

  /**
   * 所占格子数，0 表示 display: none
   * @default none (0)
   * @type ColSpanType
   */
  span?: ColSpanType;
  // 所占格子数

  /**
   * 栅格顺序，用于弹性布局模式
   * @default 0
   * @type ColSpanType
   */
  order?: ColSpanType;
  // 栅格顺序

  /**
   * 弹性布局的填充
   * @default none
   * @type ColSpanType
   */
  flex?: ColSpanType;
  // 弹性布局的填充

  /**
   * 从左侧偏移的格子数
   * @default 0
   * @type ColSpanType
   */
  offset?: ColSpanType;
  // 从左侧偏移的格子数

  /**
   * 向右移动的格子数
   * @default 0
   * @type ColSpanType
   */
  push?: ColSpanType;
  // 向右移动的格子数

  /**
   * 向左移动的格子数
   * @default 0
   * @type ColSpanType
   */
  pull?: ColSpanType;
  // 向左移动的格子数

  /**
   * <576px 并且默认设置，可以是 span 值或包含上述属性的对象
   * @type { span: ColSpanType, offset: ColSpanType } | ColSpanType
   */
  xs?: { span: ColSpanType; offset: ColSpanType } | ColSpanType;
  // 小屏幕（<576px）布局配置

  /**
   * ≥576px，可以是 span 值或包含上述属性的对象
   * @type { span: ColSpanType, offset: ColSpanType } | ColSpanType
   */
  sm?: { span: ColSpanType; offset: ColSpanType } | ColSpanType;
  // 小屏幕（≥576px）布局配置

  /**
   * ≥768px，可以是 span 值或包含上述属性的对象
   * @type { span: ColSpanType, offset: ColSpanType } | ColSpanType
   */
  md?: { span: ColSpanType; offset: ColSpanType } | ColSpanType;
  // 中等屏幕（≥768px）布局配置

  /**
   * ≥992px，可以是 span 值或包含上述属性的对象
   * @type { span: ColSpanType, offset: ColSpanType } | ColSpanType
   */
  lg?: { span: ColSpanType; offset: ColSpanType } | ColSpanType;
  // 大屏幕（≥992px）布局配置

  /**
   * ≥1200px，可以是 span 值或包含上述属性的对象
   * @type { span: ColSpanType, offset: ColSpanType } | ColSpanType
   */
  xl?: { span: ColSpanType; offset: ColSpanType } | ColSpanType;
  // 超大屏幕（≥1200px）布局配置

  /**
   * ≥1600px，可以是 span 值或包含上述属性的对象
   * @type { span: ColSpanType, offset: ColSpanType } | ColSpanType
   */
  xxl?: { span: ColSpanType; offset: ColSpanType } | ColSpanType;
  // 超大屏幕（≥1600px）布局配置
}

export type ComponentType =
  | 'Input'
  | 'InputGroup'
  | 'InputPassword'
  | 'InputSearch'
  | 'InputTextArea'
  | 'InputNumber'
  | 'InputCountDown'
  | 'Select'
  | 'ApiSelect'
  | 'TreeSelect'
  | 'ApiTreeSelect'
  | 'ApiRadioGroup'
  | 'RadioButtonGroup'
  | 'RadioGroup'
  | 'Checkbox'
  | 'CheckboxGroup'
  | 'AutoComplete'
  | 'ApiCascader'
  | 'Cascader'
  | 'DatePicker'
  | 'MonthPicker'
  | 'RangePicker'
  | 'WeekPicker'
  | 'TimePicker'
  | 'Switch'
  | 'StrengthMeter'
  | 'Upload'
  | 'IconPicker'
  | 'Render'
  | 'Slider'
  | 'Rate'
  | 'Divider';
// ComponentType类型定义，包括各种组件类型
